【Android】顶部导航栏ToolBar设计

您所在的位置:网站首页 android 底部tab 【Android】顶部导航栏ToolBar设计

【Android】顶部导航栏ToolBar设计

2023-04-03 08:34| 来源: 网络整理| 查看: 265

一.改变顶部状态栏颜色

@android:color/holo_blue_bright @android:color/holo_blue_bright

二、顶部导航栏ToolBar

前提条件需要更改为Theme.AppCompat.Light.NoActionBar

在布局中添加一个ToolBar控件。由于要用到Toolbar,所以外层布局要用线性布局,并设置为垂直方向,代码如下 然后新建xml布局和相应的 Activity,Activity继承自AppCompatActivity,新建项目一般默认继承自AppCompatActivity,对toolbar进行属性设置。 xml属性类中的设置方法说明LogosetLogo设置工具栏图标TitlesetTitle设置标题文字titleTextColorsetTiitleTextColor 设置标题的文字颜色titleTextAppearancesetTitleTextAppearance设置标题的文字风格。风格定义在styles.xml中subtitlesetSubtitle设置副标题文字。副标题在标题下方。subtitleTextColorsetSubtitleTextColor设置副标题的文字颜色subtitleTextAppearancesetSubtitleTextAppearance设置副标题的文字风格navigationIconsetNavigationIcon设置左侧导航图标无setNavigationOnClickListener设置导航图标的点击监听器 protected void initToolbar(String title) { Toolbar toolbar = findViewById(R.id.toolbar); setSupportActionBar(toolbar); // 设置title // getSupportActionBar().setTitle(title); TextView textView = findViewById(R.id.toolbar_title); getSupportActionBar().setDisplayHomeAsUpEnabled(true);// 添加默认的返回图标 getSupportActionBar().setHomeButtonEnabled(true); // 设置返回键可用 textView.setText(title); toolbar.setNavigationOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { finish(); } }); } 如果想要在标题右侧添加图标,则需要借助menu (1)在res目录下新建文件夹menu,在menu文件夹下添加savemenu.xml

menu属性: ①menu是菜单项的容器。 ②menu元素必须是该文件的根节点,并且能够包含一个或多个item和group元素。 ③item是菜单项,用于定义MenuItem,可以嵌套menu元素,以便创建子菜单。 ④group是item元素的不可见容器(可选)。可以使用它对菜单项进行分组,使一组菜单项共享可用性和可见性等属性。

item属性: ①android:id:菜单项(MenuItem)的唯一标识 ②android:icon:菜单项的图标(可选) ③android:title:菜单项的标题(必选) ④android:showAsAction:指定菜单项的显示方式。

ifRoom 表示在屏幕空间足够的情况下显示在Toolbar中,不够的话就显示在菜单中,如果设置该属性,长按时弹出对应的文字never 表示永远不显示在Toolbar中,而是一直显示在菜单中 (默认)always 表示永远显示在Toolbar中,如果屏幕空间不够则不显示

(2)在activity中添加添加两个方法,使其配合Toolbar使用

//添加布局文件 @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.savemenu, menu); return true; } //menu,点击事件监听: @Override public boolean onOptionsItemSelected(MenuItem item) { if (item.getItemId() == R.id.btn_save_course) { ContentValues cValue = new ContentValues(); if (minute cValue.put("time", hour + ":" + minute); } cValue.put("create_time", System.currentTimeMillis() + ""); cValue.put("repeat", repeatType.getText().toString()); cValue.put("isSwitchOn", 1); cValue.put("ifVibrate", ifvibrat.getText().toString()); db.insert("clocks", null, cValue); Toast.makeText(getApplicationContext(), "保存成功", Toast.LENGTH_SHORT).show(); Intent intent = new Intent(AddclockActivity.this, ClockActivity.class); intent.putExtra("addType", "yes"); startActivity(intent); finish(); } return super.onOptionsItemSelected(item); }

三、更改字体样式 ①在app目录下创建一个assets文件夹,在assets文件夹下创建fonts文件夹,将相应的字体.ttf文件放在fonts目录下 ②在activity中修改字体样式

text1.setTypeface(Typeface.createFromAsset(getAssets(),"fonts/STXINGKA.TTF"));


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3